#ifndef __ZADO_H__
#define __ZADO_H__

#ifdef __cplusplus
extern "C" {
#endif

#define ZADO_PARATYPE_INT 1
#define ZADO_PARATYPE_PCHAR 2
#define ZADO_PARATYPE_PDATETIME 3
#define ZADO_PARATYPE_IMAGE 4

#define ZADO_RESTYPE_INT 5
#define ZADO_RESTYPE_GUID 6
#define ZADO_RESTYPE_DATETIME 7
#define ZADO_RESTYPE_PCHAR 8
#define ZADO_RESTYPE_IMAGE 9

	typedef struct tagZTIME
	{
		int m_Y;
		int m_M;
		int m_D;
		int m_H;
		int m_m;
		int m_s;
		int m_ms;
	}ZTIME, *pZTIME;

	typedef void * HADO;

	__declspec(dllexport) HADO zADO_create();

	__declspec(dllexport) int zADO_setconnstr(HADO const obj, const char * const connstr);

	__declspec(dllexport) int zADO_open(HADO const obj);

	__declspec(dllexport) int zADO_setcommandstr(HADO const obj, const char * const commandstr);

	__declspec(dllexport) int zADO_addcommandPara(HADO const obj, const char * const ptrorpint, int paratype, int sizeifimagetype);

	__declspec(dllexport) int zADO_execute(HADO const obj);

	__declspec(dllexport) int _zADO_testresult(HADO const obj);

	__declspec(dllexport) int zADO_eof(HADO const obj);

	__declspec(dllexport) int zADO_movenext(HADO const obj);

	__declspec(dllexport) int zADO_copyval(HADO const obj, const char * const colname, void * const dest, int restype, int nullifint, const char * const nullifguid
		, unsigned	char ** outBuf, int * outBufSize);

	__declspec(dllexport) int zADO_freeimg(unsigned char ** pimg);

	__declspec(dllexport) int zADO_close(HADO const obj);

	__declspec(dllexport) int zADO_delete(HADO * pObj);





#ifdef __cplusplus
}
#endif

#endif